This patch is intended to correct the number of CPUs.
authordjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Wed, 21 Dec 2005 14:53:40 +0000 (08:53 -0600)
committerdjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Wed, 21 Dec 2005 14:53:40 +0000 (08:53 -0600)
commit511d7dce64047133708b7a92e7519e2423cb1ba5
treef78efac5773431ab2e43ab6e41cd53c67a2e17da
parentbfb1a9b2ac905d7f284e03e4587ee193050f7f49
This patch is intended to correct the number of CPUs.

Our IPF machines are the following configurations.
 - Total logical cpus = 16
  -- 4 sockets
  -- 2 cores
  -- 2 threads

I changed the setting of BIOS, and invalidated the hyperthread, and I built Xen with NR_CPUS=8.
As a result, it became like attached file xendmesg1.txt.
 - Available cpus 3
 - Total cpus 8

Next, I built Xen with NR_CPUS=16.
As a result, it became like attached file xendmesg2.txt.
 - Available cpus 8
 - Total cpus 16

I thought not to match the analysis of the lsapic entry to the value of NR_CPUS.

It is an outline of patch as follows.
 1. Count up the lsapic entry by using acpi_table_count_madt()/acpi_table_count_madt_family().
 2. Call acpi_parse_lsapic() by using the number of lsapic entries.
 3. Count up the available_cpus by using acpi_parse_lsapic(), however NR_CPUS is not exceeded.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Best Regards,
 Kan
xen/arch/ia64/xen/acpi.c
xen/drivers/acpi/tables.c
xen/include/xen/acpi.h